/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.util.*;
import java.io.*;
/**
 * @Author Gimbet
 */
public class Solicitud implements Serializable {
    private String tipo;
    private String param1;
    private String param2;
    private List<String> conocidos;
    private String IP;

    public Solicitud(String tipo, String param1, List<String> conocidos, String IP) {
        this.tipo = tipo;
        this.param1 = param1;
        this.conocidos = conocidos;
        this.IP = IP;
    }

    public Solicitud(String tipo, String param1, String param2, List<String> conocidos, String IP) {
        this.tipo = tipo;
        this.param1 = param1;
        this.param2 = param2;
        this.conocidos = conocidos;
        this.IP = IP;
    }

    public Solicitud(String tipo, String param1, String param2, String IP) {
        this.tipo = tipo;
        this.param1 = param1;
        this.param2 = param2;
        this.IP = IP;
    }
    
    


     private void writeObject(java.io.ObjectOutputStream out)
         throws IOException
     {
         out.writeUTF (tipo);
         out.writeUTF(param1);
         if (param2!=null) out.writeUTF(param2);
         if (conocidos!=null){
         for(int j=0; j<conocidos.size(); j++){
             out.writeUTF(conocidos.get(j));
         }
         }
         out.writeUTF(IP);
     }
     
     
     private void readObject(java.io.ObjectInputStream in)
     throws IOException, ClassNotFoundException
     {
         tipo = in.readUTF();
         param1 = in.readUTF();
         param2 = in.readUTF();
         
         List<String> conocidosAux = new ArrayList<String>();

         for(int j=0; j<conocidos.size(); j++){
             conocidosAux.add(j,in.readUTF());
         }
         this.setConocidos(conocidosAux);
         IP = in.readUTF();
         
     }

    public String getIP() {
        return IP;
    }

    public void setIP(String IP) {
        this.IP = IP;
    }

    public List<String> getConocidos() {
        return conocidos;
    }

    public void setConocidos(List<String> conocidos) {
        this.conocidos = conocidos;
    }

    public String getParam1() {
        return param1;
    }

    public void setParam1(String param1) {
        this.param1 = param1;
    }

    public String getParam2() {
        return param2;
    }

    public void setParam2(String param2) {
        this.param2 = param2;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    @Override
    public String toString() {
        return "Solicitud{" + "tipo=" + tipo + ", param1=" + param1 + ", param2=" + param2 + ", conocidos=" + conocidos + ", IP=" + IP + '}';
    }
    
    

    
    
}

